Range adjustment for text editing

ABSTRACT

Embodiments relate to text editing. An aspect includes receiving a range specifying operation for performing range specification for at least part of the text displayed on a display device. Another aspect includes causing a storing unit to store therein specific text including text in the range specified by the received range specifying operation and other text relating to the specified range. Another aspect includes displaying, at a time of performing text pasting processing, the specific text stored in the storing unit together with the text in the specified range on the display device. Another aspect includes performing, based on a changing operation for changing the text in the specified range being received, paste processing by changing the text to be pasted in accordance with the changing operation.

PRIORITY

This application claims the benefit of priority under 35 U.S.C. §119 toJapanese Patent Application No. 2012-250546, filed on Nov. 14, 2012,which is herein incorporated by reference in its entirety.

BACKGROUND

This disclosure relates generally to editing text, and morespecifically, relates to range adjustment for text editing.

For editing of text data, a computer may perform an operation forspecifying an appropriate range of text displayed on the screen of adisplay device, copying or cutting the text in the specified range, andpasting the text to a different position. Range specification for textis performed using a pointing device, such as a mouse or a cursor key ona keyboard, by specifying the positions of the ends of a range to bespecified while moving the pointing device displayed on the screen ofthe display device.

SUMMARY

Embodiments include a method, system, and computer program product fortext editing. An aspect includes receiving a range specifying operationfor performing range specification for at least part of the textdisplayed on a display device. Another aspect includes causing a storingunit to store therein specific text including text in the rangespecified by the received range specifying operation and other textrelating to the specified range. Another aspect includes displaying, ata time of performing text pasting processing, the specific text storedin the storing unit together with the text in the specified range on thedisplay device. Another aspect includes performing, based on a changingoperation for changing the text in the specified range not beingreceived, paste processing for the text in the specified range, andperforming, based on a changing operation for changing the text in thespecified range being received, paste processing by changing the text tobe pasted in accordance with the changing operation.

Additional features are realized through the techniques of the presentexemplary embodiment. Other embodiments are described in detail hereinand are considered a part of what is claimed. For a better understandingof the features of the exemplary embodiment, refer to the descriptionand to the drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Referring now to the drawings wherein like elements are numbered alikein the several FIGURES:

FIG. 1 is a diagram illustrating an embodiment of an editing system.

FIG. 2 is a diagram illustrating an embodiment a computer system for usein conjunction with an editing system.

FIGS. 3( a)-3(c) illustrate examples of range specification for text.

FIG. 4 is a diagram illustrating an embodiment of a range adjustingwindow.

FIG. 5( a)-5(b) illustrates examples of adjustment of a specified rangeof text using a range adjusting window.

FIG. 6( a)-6(b) illustrate examples of an embodiment in which text isadditionally stored in accordance with a drag operation using a pointingdevice.

FIG. 7( a)-7(b) illustrate examples of an embodiment in which theposition of a cursor is deviated from a position intended by an operatorin a drag operation using a pointing device.

FIG. 8 is a diagram illustrating an embodiment of a range adjustingwindow.

FIG. 9 is a flowchart illustrating an embodiment of a method of using acombination of a first adjusting method and a second adjusting method toadjust a specified range using the range adjusting window.

FIG. 10( a)-10(b) illustrate an example of determining, using arectangular region displayed in accordance with an operation forspecifying a range of text, whether or not there is a possibility thatan incorrect operation has been performed.

FIG. 11( a)-11(b) illustrate an example of determining, using arectangular region displayed in accordance with an operation forspecifying a range of text, whether or not there is a possibility thatan incorrect operation has been performed.

FIG. 12 illustrates an embodiment of a method of determining, on thebasis of the displacement of a cursor in an operation for specifying arange of text, whether or not there is a possibility that an incorrectoperation has been performed.

FIG. 13 is a flowchart illustrating an embodiment of a method for rangespecification of text and a paste operation in the embodiment.

FIG. 14 is a flowchart illustrating an embodiment of a method foridentifying a specified range.

DETAILED DESCRIPTION

Embodiments of range adjustment for text editing are provided, withexemplary embodiments being discussed below in detail. When a range oftext to be subjected to a copy operation or a cut operation is specifiedusing a pointing device, such as a mouse, a range that is different froma range intended by an operator may be specified due to the hand motionof the operator who is operating the pointing device. In such a case, ifthe operator performs a paste operation with the incorrect range beingspecified, text not intended by the operator is pasted. An operator canbe prevented from performing a paste operation while specifying anincorrect range in a copy operation or a cut operation, and an incorrectoperation in text editing can be suppressed.

A text editing apparatus includes a display control unit that displaystext to be edited on a display device; an operation receiving unit thatreceives a range specifying operation for performing range specificationfor at least part of the text displayed on the display device; a storingunit that stores therein specific text (specified range candidate text)including the text in the range specified by the range specifyingoperation received by the operation receiving unit and other textrelating to the specified range; and an editing processing unit thatcauses, at a time of performing text pasting processing, the displaycontrol unit to display on the display device the specific text storedin the storing unit together with the text in the specified range, andperforms, in a case where a changing operation for changing the text inthe specified range is received, paste processing by changing text to bepasted in accordance with the changing operation. Furthermore, theapparatus is configured to further include a determining unit thatdetermines whether or not a change beyond a specific criterion hasoccurred in the range of text specified by the range specifyingoperation received by the operation receiving unit. In a case where thedetermining unit determines that a change beyond the specific criterionhas occurred in the range of the text, the editing processing unitcauses the display control unit to display on the display device thespecific text stored in the storing unit. In the apparatus, the storingunit may be configured to store, as the specific text, text in aspecific range that includes the text in the range specified inaccordance with the range specifying operation received by the operationreceiving unit and that is defined on the basis of the specified range,together with the text in the specified range. Furthermore, the storingunit may be configured to additionally stores in a sequential manner, inaccordance with progress of the range specifying operation received bythe operation receiving unit, text in the range specified in the rangespecifying operation. The editing processing unit may be configured tocause the display control unit to display, as the specific text, textstored in a last storing operation and text for a specific number ofstoring operations from the last storing operation on the displaydevice.

The editing processing unit may be configured to cause the displaycontrol unit to display the last stored text stored in the last storingoperation and text for a specific number of storing operations from thelast storing operation on the display device, and cause, in a case wherean operation for selecting text that is different from the last storedtext as text to be pasted in text pasting processing is received, thedisplay control unit to display the specific text stored in the storingunit together with the selected text on the display device. In moredetail, the determining unit periodically acquires from the displaycontrol unit positional information on a rectangular region displayed inorder to represent the range of text specified in the range specifyingoperation, in accordance with progress of the range specifyingoperation, and determines, in a case where a rectangular region based onacquired positional information does not contain a rectangular regionbased on immediately previously acquired positional information, that achange beyond a specific criterion has occurred in the specified rangeof text. Furthermore, the determining unit may periodically acquiresfrom the display control unit positional information on a cursor used ina range specifying operation, in accordance with progress of the rangespecifying operation, and determine, in a case where after the acquiredpositional information of the cursor is moved at display positions onthe same row of the text displayed on the display device for a certaintime or more, the positional information is moved to a display positionin a different row, that a change beyond a specific criterion hasoccurred in the specified range of text.

Various embodiments are implemented as a data processing method forediting text using a computer. An embodiment of a method includesreceiving a range specifying operation for performing rangespecification for at least part of the text displayed on a displaydevice; causing a storing unit to store therein specific text (specifiedrange candidate text) including text in the range specified by thereceived range specifying operation and other text relating to thespecified range; displaying, at a time of performing text pastingprocessing, the specific text stored in the storing unit together withthe text in the specified range on the display device; and performing,in a case where a changing operation for changing the text in thespecified range is not received, paste processing for the text in thespecified range, and performing, in a case where a changing operationfor changing the text in the specified range is received, pasteprocessing by changing the text to be pasted in accordance with thechanging operation. The data processing method further includesdetermining whether or not a change beyond a specific criterion hasoccurred in the range of text specified by the received range specifyingoperation. At the time of performing the text pasting processing, thespecific text stored in the storing unit may be displayed on the displaydevice on a condition that it is determined that a change beyond thespecific criterion has occurred in the range of text.

A program for controlling a computer to execute individual functions ofthe above-described apparatus or a program for causing a computer toperform processing corresponding the method described above is alsoprovided. The program may be provided by being stored in a magneticdisk, an optical disk, a semiconductor memory, or other storage mediaand distributed or by being distributed via a network.

FIG. 1 is a diagram illustrating an embodiment of an editing system 100.As illustrated in FIG. 1, an editing system 100 according to thisembodiment includes a display control unit 10, an operation receivingunit 20, an operation determining unit 30, an editing processing unit40, and a storing unit 50. In addition, a display device 200, such as aliquid crystal display, is connected to the display control unit 10 ofthe editing system 100. The display control unit 10 displays variousimages on the display screen of the display device 200. Morespecifically, text data to be processed and a cursor are displayed.Furthermore, as described later, in the case where text in a specificrange is specified by a cursor operation by an operator, a displaymanner is changed so that the specified range can be visuallyidentified. Furthermore, in this embodiment, for execution of a pasteoperation for text, a window (hereinafter, called an operation window)for receiving an operation for text to be pasted is displayed on thedisplay device 200. The details of display control for the operationwindow will be described later.

The operation receiving unit 20 acquires information on an operationperformed by the operator using an input device such as a pointingdevice. Content of an operation to be acquired includes an operation forspecifying a range of text, an operation for issuing an instruction tocopy or cut the text in the specified range, an operation for specifyinga specific position in text data and issuing an instruction to pastetext, and the like. Furthermore, in this embodiment, the operationreceiving unit 20 receives an operation for the operation windowdisplayed on the display device 200 by the display control unit 10.

The operation determining unit 30 determines the content of an operationreceived by the operation receiving unit 20. More specifically, theoperation determining unit 30 performs identification of an instructedoperation (copy, cut, or paste), identification of text in a rangespecified in accordance with a copy operation or a cut operation,identification of a paste position to which the specified text is to bepasted in a paste operation, and the like. Here, the paste position isnot necessarily a position in text for which a copy operation or a cutoperation has been performed. The paste position may be a position(input form etc.) at which text can be displayed by a differentapplication program. Furthermore, in this embodiment, in the case wherethere is a possibility that an incorrect range has been specified in anoperation for specifying a range of text, the operation determining unit30 detects the specification of an incorrect range. The details ofdetermining processing for a specified range of text will be describedlater.

The editing processing unit 40 performs processing for editing text dataon the basis of an operation received by the operation receiving unit 20and determined by the operation determining unit 30. More specifically,the editing processing unit 40 performs processing corresponding tocopy, cut, and paste operations. In copy processing, the editingprocessing unit 40 stores text in a specified range identified by theoperation determining unit 30 into the storing unit 50. In cutprocessing, the editing processing unit 40 stores the text in thespecified range identified by the operation determining unit 30 into thestoring unit 50, and deletes the text in the specified range from theoriginal text data. In the paste processing, the editing processing unit40 inserts (pastes) text stored in the storing unit 50 to a pasteposition identified by the operation determining unit 30. Furthermore,when deleting text in cut processing or inserting text in pasteprocessing, the editing processing unit 40 performs processing (changingof display position etc.) for the other text portions affected bydeletion or insertion of the text. The storing unit 50 temporarilystores text that has been subjected to the copy processing or cutprocessing mentioned above. In general, an operating system (OS) of acomputer provides a memory region called a clipboard, which is sharedbetween application programs. For example, this memory region can beused as the storing unit 50.

FIG. 2 is a diagram illustrating an embodiment of a computer suitablefor use with an editing system 100. The computer illustrated in FIG. 2includes a central processing unit (CPU) 110 a, which is arithmeticoperation means, and a memory 110 c, which is main storage means.Furthermore, the computer includes, as external devices, a magnetic diskdevice (hard disk drive or HDD) 110 g, a network interface 110 f, adisplay mechanism 110 d, an audio mechanism 110 h, and an input device110 i including a keyboard, a mouse, and the like. In FIG. 2, the memory110 c and the display mechanism 110 d are connected through a systemcontroller 110 b to the CPU 110 a. The network interface 110 f, themagnetic disk device 110 g, the audio mechanism 110 h, and the inputdevice 110 i are connected through an input/output (I/O) controller 110e to the system controller 110 b. The individual components areconnected to one another through various buses, such as a system bus, aninput/output bus, and the like.

FIG. 2 illustrates merely an example of the hardware configuration of acomputer to which editing system 100 is suitably applied. Thisembodiment is widely applicable to information processing systems thatperform editing of text data including copy, cut, and paste processing,and this embodiment is not implemented only with the illustratedconfiguration.

Referring to FIG. 2, an operating system (OS) and an application programare stored in the magnetic disk device 110 g. When these programs areread to the memory 110 c and executed by the CPU 110 a, the functions ofthe display control unit 10, the operation receiving unit 20, theoperation determining unit 30, and the editing processing unit 40illustrated in FIG. 1 are implemented. Furthermore, the storing unit 50is implemented by storing means, such as the magnetic disk device 110 g,the memory 110 c, and the like. The display control unit 10 performsdisplaying of images on the display device 200 through the displaymechanism 110 d illustrated in FIG. 2. The operation receiving unit 20acquires information on an operation performed by the operator using theinput device 110 i illustrated in FIG. 2.

Range specification for text performed in a copy operation or a cutoperation will now be explained. Normally, range specification for textis performed, using an input device, by specifying the positions of theends of a range to be specified. For example, in the case where a mouseis used as an input device, the mouse is operated so as to move a cursor(mouse pointer) and desired two positions are identified on the screenof the display device 200. More specifically, for example, an operationfor pressing a mouse button when the cursor is located at one of the twoidentified positions, moving (dragging) the mouse with the mouse buttonkept pressed, and releasing the mouse button when the cursor reaches theother one of the identified positions is performed. When the operationreceiving unit 20 receives such an operation, the operation determiningunit 30 recognizes the range of text existing between the two identifiedpositions as a specified range.

FIGS. 3( a)-3(c) illustrate examples of range specification for text. Inan embodiment in which text is displayed on the display device 200,range specification may be performed for text in a range surrounded by aframe 301, as illustrated in FIG. 3( a). In this case, for example, amouse is operated so as to move a cursor and to perform a drag operationfrom a position including the first character of text in a range to bespecified (in the drawing “h” of text “http”) to a position includingthe last character (in the drawing, “e” of text “update”). Accordingly,the positions are identified. As described above, a range of textexisting between the identified positions (in the drawing,“http://RWP-Server_(—)1/ccrc/update”) is specified.

Information on identified positions on the screen by an operation usinga mouse or the like and information on the display position of acharacter (coordinates on the screen etc.) are acquired, for example, bythe display mechanism 110 d illustrated in FIG. 2. The way how a rangeof text is specified on the basis of two identified positions depends onan application program for displaying text data. More specifically, forexample, in the case of horizontally written text extending over aplurality of rows illustrated in FIG. 3( a), when a specified rangeincludes a plurality of rows, text from an upper identified position toa lower identified position on the screen is defined as text in aspecified range. In the case where a specified range includes one row, aleft identified position to a right identified position on the screen isdefined as text in a specified range.

FIG. 3( b) and FIG. 3( c) each illustrate the state in which a rangerepresented by the frame 301 illustrated in FIG. 3( a) is intended to bespecified using a mouse. In the illustrated examples, the operatorintends to perform a mouse dragging operation from the left end towardthe right end of the frame 301 illustrated in FIG. 3( a). In FIG. 3( b),the state in which a drag operation proceeds to the stage at which therange of a character string “http://RWP-S” is specified is illustrated.

Here, in the case of moving a cursor using a pointing device such as amouse, since a physical operation or the like of the hand of an operatoris reflected in a cursor operation on the screen, a moved cursorposition may be deviated from the position intended by the operator.Normally, in this case, the operator is able to check the position ofthe cursor on the screen and make a modification. However, depending onthe operation status, a situation in which a drag operation isterminated without the position of the cursor being modified and a rangeof text that is different from a range desired by the operator isdefined as a specified range may occur.

For example, a situation in which at the time when a mouse button isreleased after a drag operation from one identified position to theother identified position is performed, the hand of the operator movesand the position of the cursor is changed may occur. FIG. 3( c)illustrates the state in which after a drag operation starts from thestate illustrated in FIG. 3( b) and the drag operation for the entirecharacter string “http://RWP-erver_(—)1/ccrc/update” in a range to bespecified is performed, the cursor moved to the row immediately abovethe original row when the mouse button is released. In this case, theidentified positions do not include the position of “e” of “update”intended by the operator but include a position including “t” of “to” inthe row immediately above the original row. Thus, the specified range isnot “http://RWP-Server_(—)1/ccrc/update” desired by the operator (rangerepresented by the frame 301 of FIG. 3( a)) but the range “to thisserver and can be accessed using the following URL:” of text existingbetween two identified positions extending over two rows.

In the case where a range of text is incorrectly specified as describedabove, if an operator recognizes the incorrect operation beforeperforming a copy operation, a cut operation, a paste operation, or thelike, range specification can be performed again or modification of thespecified range can be performed. However, the case where the operatordoes not recognize the incorrect operation for range specification untilthe operator performs a paste operation and views pasted text may occur.Under the circumstances mentioned above, this embodiment provides meansfor allowing the operator to adjust a specified range of text before theoperator performs a paste operation.

In an embodiment, adjustment of a specified range may be applied whenthe operator performs a paste operation. A window for adjusting aspecified range (hereinafter, called a range adjusting window) isdisplayed near a specified position for a paste operation on the screenof the display device 200. As a first adjusting method, text in aspecific range including a range actually specified by an operation forspecifying a range of text (hereinafter, called specified rangecandidate text) is displayed in the range adjusting window.

FIG. 4 is a diagram illustrating an example of the display of a rangeadjusting window. In the example illustrated in FIG. 4, in a pasteoperation for pasting text to an input form 401 displayed on the screenof the display device 200, a range adjusting window 410 is displayednear a paste position. The position at which the range adjusting window410 is displayed only needs to be a position not interfering with apaste operation. For example, the range adjusting window 410 isdisplayed near a lower portion of the paste position, as illustrated inthe drawing. This displaying may adopt a method used for temporarilydisplaying a window, a dialog box, and the like in accordance with anexisting application program or the like.

In this embodiment, specified range candidate text displayed in therange adjusting window 410 is text that includes text specified in acopy operation, a cut operation, or the like by the operator and thatextends over a specific range before and after the specified text. Inthe example illustrated in FIG. 4, text “In this example, the RationalWeb Platform (RWP) server is named RWP-Server_(—)1 will be used. The newCCRC download bits have been added to this server and can be accessedusing the following URL: http://RWP-Server_(—)1/ccrc/update”, whichincludes text “to this server and can be accessed using the followingURL:” in the range incorrectly specified as illustrated in FIG. 3( c),is displayed as specified range candidate text.

Here, the range of text displayed as specified range candidate text isdefined as a relative range based on the range of text specified by arange specifying operation, and settings for the size and the like ofthe specified range candidate text may be performed in advance in anappropriate manner by the operator. For example, specified rangecandidate text may be specified by specifying the number of charactersand the number of rows before and after the range specified by a rangespecifying operation. Alternatively, the entire paragraph including thespecified range may be defined as specified range candidate text. Therange of text displayed as the specified range candidate text may bedynamically changeable in accordance with a specific operation includinga range specifying operation, command inputting, and the like. Forexample, when markers 411, which will be described later, are set in thefirst row (or the last row) of the original set range (a range displayedin the range adjusting window 410), some rows above (or below) the firstrow (or the last row) may be set as specified range candidate text.Furthermore, at the time of executing a range specifying operation,inputting of a command for expanding the initially set range of thespecified range candidate text forward or backward may be received.

Furthermore, as illustrated in FIG. 4, the text in the range actuallyspecified by the range specifying operation of the specified rangecandidate text displayed in the range adjusting window 410 is displayedin a different display manner so that the text can be distinguished fromthe other text portions. Although inverse display is performed in theillustrated example, the display manner is not limited to theillustrated example. Various display manners, such as displaying in adifferent display color, adding embellishment such as an underline, andthe like may be applied.

Furthermore, at positions of the ends of the specified range in thespecified range candidate text in the range adjusting window 410, themarkers 411 for changing the positions of the ends of the specifiedrange are displayed. The markers 411 can be moved by performing a dragoperation while positioning the cursor at the positions of the markers411 using a pointing device such as a mouse. In addition to this, buttonobjects 412 and 413 for inputting a command for terminating pasteprocessing are displayed in the range adjusting window 410. The buttonobject 412 is an object for pasting (inversely displayed) text in aspecified range to a paste position and completing a paste operation.The button object 413 is an object for closing the range adjustingwindow 410 without pasting text (by cancelling a paste operation).

FIGS. 5( a)-5(b) illustrate examples of the adjustment of a specifiedrange of text using the range adjusting window 410. In the rangeadjusting window 410 illustrated in FIG. 5( a), text “to this server andcan be accessed using the following URL:” in the range incorrectlyspecified in FIG. 3( c) is inversely displayed and the markers 411 aredisplayed on the ends of the range. Here, in order to modify thespecified range to the range of text surrounded by the frame 301 in FIG.3( a), the operator moves the markers 411. More specifically, theoperator moves the marker 411 located at the position of the initialcharacter “t” in the inversely displayed range of text downward by onerow to locate the marker 411 at a position including “e” of text“update”. Accordingly, as illustrated in FIG. 5( b), the specified rangesandwiched between the two markers 411 is changed, and“http://RWP-Server_(—)1/ccrc/update” is defined as a specified range.When the button object 412 is clicked in this state, text in themodified specified range is pasted to the paste position (the input form401 in FIG. 4).

In order to perform an operation using the range adjusting window 410mentioned above, the processing described below is performed in theediting system 100 according to this embodiment illustrated in FIG. 1.First, in the case where an operation received by the operationreceiving unit 20 is an operation for specifying a range of text, theoperation determining unit 30 identifies specified range candidate textincluding text before and after the specified range, in accordance withsettings for specified range candidate text performed in advance. Then,when the operation receiving unit 20 receives a copy operation or a cutoperation, the editing processing unit 40 stores text in the specifiedrange and the specified range candidate text into the storing unit 50.In the case where the range of the specified range candidate text isdynamically changeable, the operation determining unit 30 determineswhether or not change conditions (in the example described above, thepositions of the markers 411 and inputting of commands) are satisfied.When the change conditions are satisfied, specified range candidate textis identified in a range changed in accordance with the changeconditions.

When the operation receiving unit 20 receives a paste operation, thedisplay control unit 10 displays the range adjusting window 410 near thepaste position, under the control of the editing processing unit 40. Inthe range adjusting window 410, the specified range candidate text isdisplayed in a display manner that is different from a display manner inwhich the other text portions are displayed. After that, when anoperation for adjusting the specified range is performed, the editingprocessing unit 40 changes text in the specified range, in accordancewith the operation. Furthermore, when a click operation for the buttonobject 412 is performed, the editing processing unit 40 pastes the textin the specified range to the paste position.

As described above, according to this embodiment, at the time ofperforming a paste operation, the range adjusting window 410 is openedand specified range candidate text is displayed so that the operator cancheck and modify text in a specified range. Thus, text that has beensubjected to incorrect range specification in a copy operation or a cutoperation can be prevented from being pasted in a paste operation.

A second embodiment of an adjusting method using the range adjustingwindow 410 will now be explained. In the second adjusting method, whenan operation for specifying a range of text is performed, text in aspecified range is additionally stored into the storing unit 50 atspecific time intervals during a drag operation using a pointing device.Then, the list of stored text is displayed in the range adjusting window410.

FIG. 6( a)-6(b) illustrate an embodiment in which text is additionallystored in accordance with a drag operation using a pointing device. Inthe example illustrated in FIG. 6( a), as in the example illustrated inFIG. 3( b), the operator performs a drag operation using a mouse fromthe left end toward the right end of the frame 301 illustrated in FIG.3( a). In FIG. 6( a), the state in which a drag operation proceeds tothe stage at which the range of a character string “http://RWP-S” isspecified is illustrated.

In FIG. 6( b), the state in which text is additionally stored in asequential manner into the storing unit 50 is illustrated. Morespecifically, first, a character “h” included in a specified range isstored by a drag operation. Then, in accordance with the progress of thedrag operation, character strings included in the specified range, “ht”,“htt”, “http”, and so on, are sequentially stored into the storing unit50.

The time intervals at which text is stored into the storing unit 50 maybe determined on the basis of an operation clock or the like of acomputer that implements the editing system 100, and can be set to, forexample, between about several milliseconds and about several tenmilliseconds. Thus, in the example illustrated in FIG. 6( b),additionally stored text increases by one character. However, dependingon the speed of a drag operation, text may be stored while one or twocharacters being skipped over. For example, after “h” is stored, “htt”may be stored.

Meanwhile, in the case where the speed of a drag operation is low, whentext is to be additionally stored, text included in a specified rangemay be the same as the text stored immediately previously. In such acase, in order to avoid the same text from being stored again, storinginto the storing unit 50 may be skipped.

FIGS. 7( a)-7(b) illustrate an embodiment in which the position of acursor is deviated from the position intended by the operator in a dragoperation using a pointing device. In the example illustrated in FIG. 7(a), as in the example illustrated in FIG. 3( c), after a drag operationis performed for the entire character string“http://RWP-Server_(—)1/ccrc/update” in a range to be specified, thecursor is moved to a row immediately above the original row when a mousebutton is released. Thus, as illustrated in FIG. 7( b), the text storedin the storing unit 50 in the last storing operation is “to this serverand can be accessed using the following URL:”, and the text stored inthe storing operation immediately before the last storing operation is“http://RWP-Server_(—)1/ccrc/update”.

FIG. 8 is a diagram illustrating an example of the display of the rangeadjusting window 410. In the range adjusting window 410 illustrated inFIG. 8, the list of text stored in the last storing operation to thefifth-to-last storing operation of a text group stored in the storingunit 50 illustrated in FIG. 7( b) is displayed as specified rangecandidate text. When the operator selects desired text from among thespecified range candidate text displayed in the range adjusting window410, the selected text is pasted to the paste position. In the exampleillustrated in FIG. 8, not text “to this server and can be accessedusing the following URL:” stored into the storing unit 50 in the laststoring operation, but text “http://RWP-Server_(—)1/ccrc/update” storedimmediately before the text “to this server and can be accessed usingthe following URL:” is selected (in FIG. 8, the selected text ishighlighted in bold). As described above, with the adjusting means, forexecution of a paste operation, the range adjusting window 410 is openedto display specified range candidate text so that the operator can checktext in a specified range and select desired text. In addition, textthat has been subjected to incorrect range specification in a copyoperation or a cut operation can be prevented from being pasted in apaste operation.

In the above description, the case where when the speed of a dragoperation is high relative to the time intervals at which text is storedinto the storing unit 50, text is additionally stored by skippingseveral characters relative to the text stored immediately previouslymay occur has been explained. In this case, the case where textcorresponding to text in a range that the operator intends to specify isnot stored in the storing unit 50 may occur. More specifically, forexample, in FIG. 7( b), the case where text that although the operatorintends to specify is “http://RWP-Server_(—)1/ccrc/update”, text storedimmediately before the last stored text is“http://RWP-Server_(—)1/ccrc/updat” (the last “e” is missing) may occur.

In such a case, text that the operator intends to specify cannot bepasted in a paste operation only by displaying a text group stored inthe storing unit 50 in the range adjusting window 410. Thus, the firstadjusting method explained with reference to FIGS. 4 and 5 may becombined with the second adjusting method mentioned above. That is, inthe case where text that is different from the last stored text isselected in the range adjusting window 410, as in the examplesillustrated in FIGS. 4 and 5, text in a specific range including thelast stored text is displayed as specified range candidate text in therange adjusting window 410, and modification for a specified range isreceived.

FIG. 9 is a flowchart illustrating an example of a method of using thecombination of the first adjusting method and the second adjustingmethod in the means for adjusting a specified range using the rangeadjusting window 410. As illustrated in FIG. 9, a copy operation or acut operation is performed by an operator. Then, when a paste operationis received (block 901), the editing processing unit 40 causes the rangeadjusting window 410 to be displayed on the display device 200 (block902). Then, the editing processing unit 40 causes a text group stored inaccordance with an operation for performing range specification for textin the copy operation or the cut operation to be displayed in the rangeadjusting window 410 (block 903).

Then, the editing processing unit 40 waits for execution of an operationfor selecting text from the displayed text group. In the case where thelast stored text is selected, the editing processing unit 40 pastes theselected text to a paste position, and terminates the process (blocks904 and 908). Meanwhile, in the case where text that is different fromthe last stored text is selected, the editing processing unit 40 causestext in a specific range including the last stored text to be displayedin the range adjusting window 410 (blocks 904 and 905). Then, theediting processing unit 40 receives an operation for changing thespecified range of text.

Then, the editing processing unit 40 waits input of a command forterminating paste processing (block 906). The inputting of a command isperformed, for example, by clicking the button object 412 or 413displayed in the range adjusting window 410 illustrated in FIGS. 4 and5. When a command for pasting text is input, the editing processing unit40 pastes text in the specified range in the specified range candidatetext displayed in the range adjusting window 410 to the past position,and terminates the process (blocks 907 and 908). Meanwhile, when acommand for cancelling a paste operation is input, the editingprocessing unit 40 terminates the process without pasting the text inthe specified range to the paste position (block 907).

As described above, in this embodiment, for execution of a pasteoperation, a specified range of text can be adjusted using the rangeadjusting window 410. However, displaying the range adjusting window 410and receiving an operation by an operator every time a paste operationis performed may be a complicated operation for the operator. Under suchcircumstances, detecting whether there is a possibility that anincorrect operation has been performed in an operation for specifying arange of text performed in a copy operation or a cut operation anddisplaying the range adjusting window 410 on the condition that such anincorrect operation is detected may be considered.

A method for detecting whether there is a possibility that an incorrectoperation has been performed in an operation for specifying a range oftext is further illustrated. In an embodiment, the editing processingunit 40 monitors an operation for specifying a range of text. In thecase where a change in the content of an operation exceeds a specificcriterion at a point in time, that is, in the case where an operationthat is greatly different from the previous operations is performed, itis determined that there is a possibility that an incorrect operationhas been performed. As a specific detecting method, in this embodiment,a method using a rectangular region displayed when an operation forspecifying a range of text is performed (first detecting method) and amethod using the displacement of a cursor operated by a pointing device(second detecting method) are suggested.

In the case where an operation for specifying a range of text isperformed, the text in the specified range is normally highlighted onthe screen of the display device 200 so that an operator can check thespecified range. Regarding the display manner of highlighting, arectangular region surrounding the text in the specified range is oftendisplayed. Furthermore, in the rectangular region, a transparent colorthrough which text is visible may be added. In the first detectingmethod, it is determined, on the basis of a change of the rectangularregion, whether or not there is a possibility that an incorrectoperation has been performed. Display information on a rectangularregion representing a specified range of text on the screen of thedisplay device 200 (information on the position, shape, size, the numberof regions, and the like on the screen of the display device 200) can beacquired from the display control unit 10.

FIGS. 10( a)-10(b) and 11(a)-11(b) illustrate a method for determining,using a rectangular region displayed in accordance with an operation forspecifying a range of text, whether or not there is a possibility thatan incorrect operation has been performed. In general, as an operationperformed when an operator specifies a desired range of text, a dragoperation is performed using a pointing device from one end toward theother end of the specified range. In this case, display information of arectangular region representing the specified range is acquired atappropriate time intervals (for example, between about severalmilliseconds and about several ten milliseconds). When a comparison ismade, on the basis of the last acquired display information and thedisplay information acquired immediately before the last acquireddisplay information, between respective rectangular regions, therectangular region for the last acquired display information containsthe rectangular region for the display information acquired immediatelybefore the last acquired display information. Referring to FIGS. 10 and11, a specified range 1002 illustrated in FIG. 10( b) contains aspecified range 1001 illustrated in FIG. 10( a). Furthermore, aspecified range 1101 illustrated in FIG. 11( a) contains the specifiedrange 1002 illustrated in FIG. 10( b).

In contrast, comparing FIG. 11( a) with FIG. 11( b), a specified range1102 illustrated in FIG. 11( b) does not contain the specified range1101 illustrated in FIG. 11( a). Here, in the case where a rectangularregion based on display information acquired at a point in time does notcontain a rectangular region based on display information acquiredimmediately before the display information acquired at the point intime, as illustrated in FIGS. 11( a) and (b), the editing processingunit 40 recognizes that a change beyond a specific criterion hasoccurred, and it is determined that there is a possibility that anincorrect operation has been performed.

Depending on the manner in which an operator operates a pointing device,even if an operation that greatly changes a rectangular regionrepresenting a specified range is performed as in the exampleillustrated in FIGS. 11( a) and (b), a correct range (intended by theoperator) may be specified. However, in this embodiment, it is onlyrequired to detect an operation with the possibility of an incorrectoperation. Thus, even in this case, there is no problem in that therange adjusting window 410 is displayed by determining that there is apossibility that an incorrect operation has been performed. The sameapplies to the case where during the process of a rage specifyingoperation, a rectangular region not including an immediately previousrectangular region appears due to a hand motion of an operator or thelike.

In the second detecting method, in order to specify a range of text, itis determined, on the basis of the displacement (operation) of a cursoroperated using a pointing device on the screen of the display device200, whether or not there is a possibility that an incorrect operationhas been performed. Positional information on a cursor on the screen ofthe display device 200 can be acquired from the display control unit 10.Furthermore, information on the display position of individualcharacters displayed on the screen of the display device 200 can beacquired from the display control unit 10. The second detecting methodis suitable for the case where a specified range of text in a copyoperation or a cut operation is a character string of one row (notextending over two or more rows).

FIG. 12 is a diagram for explaining a method for determining, on thebasis of the displacement of a cursor in an operation for specifying arange of text, whether or not there is a possibility that an incorrectoperation has been performed. For specification of a range of text in asingle row, an operator normally performs a drag operation using apointing device in such a manner that a cursor is moved on a characterstring to be subjected to range specification from one end toward theother end of the range to be specified. That is, during the operationfor specifying a range of text, the cursor should not be moved beyondthe width for one row. Thus, the positional information of the cursor isacquired at appropriate time intervals (for example, between aboutseveral milliseconds and about several ten milliseconds), and it isdetermined whether or not the cursor is moved beyond the display rangeof the width of text in one row.

Referring to FIG. 12, the cursor is stably moved near the center of thecharacter string from time t0, at which a drag operation for specifyinga range of text starts, to time t1. Then, after time t1, the cursor isgreatly moved in the width direction of the character string (verticaldirection in horizontally written text), and the cursor is moved beyondthe display range of the character string for one row at time t2. Inthis case, the editing processing unit 40 recognizes that a changebeyond a specific criterion has occurred in the position of the cursorcorresponding to the specified range, and determines that there is apossibility that an incorrect operation has been performed.

In the example illustrated in FIG. 12, after the cursor is moved beyondthe display range of the character string for one row at time t2, thecursor is returned to the display range of the original row again. Inthis case, since a drag operation is eventually terminated for thecharacter string for one row, displaying the range adjusting window 410may be skipped by determining that an incorrect operation has not beenperformed. Furthermore, similar to the case of the first detectingmethod, it is only required to detect an operation having thepossibility of an incorrect operation. Thus, even in this case, therange adjusting window 410 may be displayed by determining that there isa possibility that an incorrect operation has been performed.

FIG. 13 is a flowchart illustrating an embodiment of a method for rangespecification for text and a paste operation. As illustrated in FIG. 13,when an operation for specifying a range of text is performed at thetime of performing a copy operation or a cut operation, the operationreceiving unit 20 receives the range specifying operation (block 1301),and the operation determining unit 30 identifies text in the specifiedrange (block 1302). Information on the identified specified range isstored into the storing unit 50 by the editing processing unit 40.

At this time, the operation determining unit 30 consecutively identifiesat appropriate time intervals a specified range that changes inaccordance with the progress of the operation for specifying a range oftext. Then, the editing processing unit 40 additionally stores in asequential manner information on the specified range identified by theoperation determining unit 30 into the storing unit 50. Furthermore, theediting processing unit 40 determines, on the basis of the informationon the specified range identified by the operation determining unit 30,whether or not a change beyond a specific criterion has occurred in thespecified range during the operation for specifying a range.

When the copy operation or the cut operation is completed and the finalspecified range of text is fixed (block 1303), the editing processingunit 40 stores specified range candidate text including the text in thespecified range into the storing unit 50 (block 1304). Then, when theoperation receiving unit 20 receives a paste operation (block 1305), theediting processing unit 40 determines, on the basis of a change of thespecified range during the operation for specifying a range, whether ornot the range adjusting window 410 is to be displayed.

That is, in the case where during the operation for specifying a range,it is determined by the first detecting method or the second detectingmethod described above that a change beyond a specific criterion hasoccurred in the specified range during the operation, the rangeadjusting window 410 is displayed (blocks 1306 and 1307). Then, afterprocessing for identifying the specified range is performed (block1308), text in the identified specified range is pasted to a pasteposition (block 1309). Meanwhile, in the case where it is determinedthat a change beyond the specific criterion has not occurred in thespecified range during the operation for specifying a range of text, therange adjusting window 410 is not displayed, and the text in thespecified range fixed in block 1303 is pasted to the paste position(blocks 1306 and 1309).

In the process mentioned above, in the case where a change beyond aspecific criterion has occurred in a specified range during an operationfor specifying a range of text, the range adjusting window 410 isdisplayed and processing for identifying a specified range is performed.In contrast, irrespective of a change of a specified range during anoperation, the range adjusting window 410 may be always displayed at thetime of a paste operation, and processing for identifying a specifiedrange may be performed.

FIG. 14 is a flowchart illustrating an embodiment of a method foridentifying a specified range illustrated in block 1308 of FIG. 13.After displaying the range adjusting window 410 in block 1307 of FIG.13, the editing processing unit 40 displays on the range adjustingwindow 410 the list of text for the last storing operation and aspecific number of storing operations from the last storing operation oftext additionally stored in the storing unit 50 in accordance with arange specifying operation (block 1410). Then, when the operationreceiving unit 20 receives an operation for selecting text displayed inthe range adjusting window 410 (block 1402), the editing processing unit40 determines whether or not the selected text is the last stored text(block 1403). In the case where the selected text is the last storedtext, the editing processing unit 40 proceeds to block 1309 in FIG. 13while defining the selected text as text to be pasted.

Meanwhile, in the case where the selected text is text that is differentfrom the last stored text in the storing unit 50, the editing processingunit 40 then displays in the range adjusting window 410 specified rangecandidate text including the last stored text stored in the storing unit50 (blocks 1403 and 1404). Then, when the operation receiving unit 20receives an operation for fixing text in the specified range from thespecified range candidate text (block 1405), the editing processing unit40 proceeds to block 1309 in FIG. 13 while defining the text in thefixed specified range as text to be pasted. At this time, if thespecified range is changed by an operation for the specified rangecandidate text, the text in the specified range fixed in the processingof block 1405 differs from the text in the specified range fixed inblock 1303.

In method of FIG. 14, after an operation for selecting text in aspecified range on the basis of text for several storing operationsadditionally stored into the storing unit 50 in accordance with rangespecifying operations is received, specified range candidate text isdisplayed in the range adjusting window 410 on the basis of specificconditions. Meanwhile, specified range candidate text may be initiallydisplayed in the range adjusting window 410 without receiving selectionbased on text additionally stored in several storing operations.

As described above, in this embodiment, at the time of a pasteoperation, the range adjusting window 410 is displayed, so that aspecified range can be adjusted on the basis of text additionally storedin several storing operations in accordance with an operation forspecifying a range and specified range candidate text. Meanwhile, anembodiment in which in the case where the editing processing unit 40determines, on the basis of text additionally stored in accordance witha range specifying operation (history of range specifying operation),that an incorrect operation has been performed, the text in thespecified range is modified to text in a range estimated to be a correctspecified range and paste processing is performed can be implemented.

For example, by using history of range specifying operation, each pieceof text stored in the storing unit 50 is compared with the text storedimmediately before the text. In the case where there is a big differenceonly between the last stored text and the text immediately before thelast stored text as illustrated in FIG. 7, there is a high possibilitythat an incorrect operation occurs at the time when a drag operationusing a pointing device is terminated. Thus, in such a case, the editingprocessing unit 40 pastes not the last stored text but the textimmediately before the last stored text to a paste position. Then, as anoption menu to be performed in accordance with a click operation or thelike using a pointing device, displaying of the range adjusting window410 may be performed.

It should be noted that the term “comprising” does not exclude otherelements or blocks and “a” or “an” does not exclude a plurality. On theother side, the term “comprising” may also include the case of“consisting of”. Also, elements described in association with differentembodiments may be combined. It should also be noted that referencesigns in the claims should not be construed as limiting elements.

The technical effects and benefits of exemplary embodiments includeautomatic installation and configuration of a software appliance acrossa variety of computing systems.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the claims. Asused herein, the singular forms “a”, “an”, and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, blocks, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, blocks, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or block plus function elements in the claims below are intendedto include any structure, material, or act for performing the functionin combination with other claimed elements as specifically claimed. Thedescription has been presented for purposes of illustration anddescription, but is not intended to be exhaustive or limited in the formdisclosed. Many modifications and variations will be apparent to thoseof ordinary skill in the art without departing from the scope and spiritof the disclosure. The embodiment was chosen and described in order tobest explain the principles and the practical application, and to enableothers of ordinary skill in the art to understand the disclosure forvarious embodiments with various modifications as are suited to theparticular use contemplated.

The invention claimed is:
 1. A text editing apparatus comprising: adisplay control unit that displays text to be edited on a displaydevice; an operation receiving unit that receives a range specifyingoperation for performing range specification for at least part of thetext displayed on the display device; a storing unit that stores thereinspecific text including the text in the range specified by the rangespecifying operation received by the operation receiving unit and othertext relating to the specified range; and an editing processing unitthat causes, at a time of performing text pasting processing, thedisplay control unit to display on the display device the specific textstored in the storing unit together with the text in the specifiedrange, and performs, based on a changing operation for changing the textin the specified range being received, paste processing by changing textto be pasted in accordance with the changing operation.
 2. The apparatusaccording to claim 1, further comprising: a determining unit thatdetermines whether or not a change beyond a specific criterion hasoccurred in the text in the range specified by the range specifyingoperation received by the operation receiving unit, wherein based on thedetermining unit determining that a change beyond the specific criterionhas occurred in the range of the text, the editing processing unitcauses the display control unit to display on the display device thespecific text stored in the storing unit.
 3. The apparatus according toclaim 2, wherein the determining unit periodically acquires from thedisplay control unit positional information on a rectangular regiondisplayed in order to represent the text in the range specified in therange specifying operation, in accordance with progress of the rangespecifying operation, and determines, based on a rectangular region ofacquired positional information not containing a rectangular regionbased on immediately previously acquired positional information, that achange beyond a specific criterion has occurred in the specified rangeof text.
 4. The apparatus according to claim 2, wherein the determiningunit periodically acquires from the display control unit positionalinformation on a cursor used in a range specifying operation, inaccordance with progress of the range specifying operation, anddetermines, based on, after the cursor is at a display position on asame row of the text displayed on the display device for a certain timeor more, the cursor is moved to a display position in a different row,that a change beyond a specific criterion has occurred in the specifiedrange of text.
 5. The apparatus according to claim 1, wherein thestoring unit stores, as the specific text, text in a specific range thatincludes the text in the range specified in accordance with the rangespecifying operation received by the operation receiving unit and thatis defined based on the specified range, together with the text in thespecified range.
 6. The apparatus according to claim 1, wherein thestoring unit additionally stores in a sequential manner, in accordancewith progress of the range specifying operation received by theoperation receiving unit, text in the range specified in the rangespecifying operation; and wherein the editing processing unit causes thedisplay control unit to display, as the specific text, text stored in alast storing operation and text for a specific number of storingoperations from the last storing operation on the display device.
 7. Theapparatus according to claim 1, wherein the storing unit additionallystores in a sequential manner, in accordance with progress of the rangespecifying operation received by the operation receiving unit, text inthe range specified by the range specifying operation, and stores, asthe specific text, text in a specific range that includes last storedtext that is stored in a last storing operation and that is definedbased on the specified range, together with the last stored text; andwherein the editing processing unit causes the display control unit todisplay the last stored text stored in the last storing operation andtext for a specific number of storing operations from the last storingoperation on the display device, and causes, based on an operation forselecting text that is different from the last stored text as text to bepasted in text pasting processing being received, the display controlunit to display the specific text stored in the storing unit togetherwith the selected text on the display device.
 8. A method for editingtext using a computer, the method comprising: receiving a rangespecifying operation for performing range specification for at leastpart of the text displayed on a display device of the computer; causinga storing unit to store therein specific text including text in therange specified by the received range specifying operation and othertext relating to the specified range; displaying, at a time ofperforming text pasting processing, the specific text stored in thestoring unit together with the text in the specified range on thedisplay device; and performing, based on a changing operation forchanging the text in the specified range not being received, pasteprocessing for the text in the specified range, and performing, based ona changing operation for changing the text in the specified range beingreceived, paste processing by changing the text to be pasted inaccordance with the changing operation.
 9. The data processing methodaccording to claim 8, further comprising: determining whether or not achange beyond a specific criterion has occurred in the text in the rangespecified by the received range specifying operation, wherein at thetime of performing the text pasting processing, the specific text storedin the storing unit is displayed on the display device on a conditionthat it is determined that a change beyond the specific criterion hasoccurred in the text in the range.
 10. The data processing methodaccording to claim 9, further comprising periodically acquiringpositional information on a rectangular region displayed in order torepresent the text in the range specified in the range specifyingoperation, in accordance with progress of the range specifyingoperation, and determining, based on a rectangular region of acquiredpositional information not containing a rectangular region based onimmediately previously acquired positional information, that a changebeyond a specific criterion has occurred in the specified range of text.11. The data processing method according to claim 9, further comprisingperiodically acquiring from the display control unit positionalinformation on a cursor used in a range specifying operation, inaccordance with progress of the range specifying operation, anddetermining, based on, after the cursor is at a display position on asame row of the text displayed on the display device for a certain timeor more, the cursor is moved to a display position in a different row,that a change beyond a specific criterion has occurred in the specifiedrange of text.
 12. The data processing method according to claim 8,wherein the storing unit stores, as the specific text, text in aspecific range that includes the text in the range specified inaccordance with the range specifying operation received by the operationreceiving unit and that is defined based on the specified range,together with the text in the specified range.
 13. The data processingmethod according to claim 8, wherein the storing unit additionallystores in a sequential manner, in accordance with progress of the rangespecifying operation received by the operation receiving unit, text inthe range specified in the range specifying operation; and furthercomprising displaying, as the specific text, text stored in a laststoring operation and text for a specific number of storing operationsfrom the last storing operation on the display device.
 14. The dataprocessing method according to claim 8, wherein the storing unitadditionally stores in a sequential manner, in accordance with progressof the range specifying operation received by the operation receivingunit, text in the range specified by the range specifying operation, andstores, as the specific text, text in a specific range that includeslast stored text that is stored in a last storing operation and that isdefined based on the specified range, together with the last storedtext; and wherein the editing processing unit causes the display controlunit to display the last stored text stored in the last storingoperation and text for a specific number of storing operations from thelast storing operation on the display device, and causes, based on anoperation for selecting text that is different from the last stored textas text to be pasted in text pasting processing being received, thedisplay control unit to display the specific text stored in the storingunit together with the selected text on the display device.
 15. Acomputer program product for text editing, the computer program productcomprising a computer readable medium having computer-readable programcode embodied therewith, which when executed by a computer processor,causes the computer processor to implement: receiving a range specifyingoperation for performing range specification for at least part of thetext displayed on a display device; causing a storing unit to storetherein specific text including text in the range specified by thereceived range specifying operation and other text relating to thespecified range; displaying, at a time of performing text pastingprocessing, the specific text stored in the storing unit together withthe text in the specified range on the display device; and performing,based on a changing operation for changing the text in the specifiedrange not being received, paste processing for the text in the specifiedrange, and performing, based on a changing operation for changing thetext in the specified range being received, paste processing by changingthe text to be pasted in accordance with the changing operation.
 16. Thecomputer program product according to claim 15, further comprising:determining whether or not a change beyond a specific criterion hasoccurred in the text in the range specified by the received rangespecifying operation, wherein at the time of performing the text pastingprocessing, the specific text stored in the storing unit is displayed onthe display device on a condition that it is determined that a changebeyond the specific criterion has occurred in the text in the range. 17.The computer program product according to claim 16, further comprisingperiodically acquiring positional information on a rectangular regiondisplayed in order to represent the text in the range specified in therange specifying operation, in accordance with progress of the rangespecifying operation, and determining, based on a rectangular region ofacquired positional information not containing a rectangular regionbased on immediately previously acquired positional information, that achange beyond a specific criterion has occurred in the specified rangeof text.
 18. The computer program product according to claim 15, whereinthe storing unit stores, as the specific text, text in a specific rangethat includes the text in the range specified in accordance with therange specifying operation received by the operation receiving unit andthat is defined based on the specified range, together with the text inthe specified range.
 19. The computer program product according to claim15, wherein the storing unit additionally stores in a sequential manner,in accordance with progress of the range specifying operation receivedby the operation receiving unit, text in the range specified in therange specifying operation; and further comprising displaying, as thespecific text, text stored in a last storing operation and text for aspecific number of storing operations from the last storing operation onthe display device.
 20. The computer program product according to claim15, wherein the storing unit additionally stores in a sequential manner,in accordance with progress of the range specifying operation receivedby the operation receiving unit, text in the range specified by therange specifying operation, and stores, as the specific text, text in aspecific range that includes last stored text that is stored in a laststoring operation and that is defined based on the specified range,together with the last stored text; and wherein the editing processingunit causes the display control unit to display the last stored textstored in the last storing operation and text for a specific number ofstoring operations from the last storing operation on the displaydevice, and causes, based on an operation for selecting text that isdifferent from the last stored text as text to be pasted in text pastingprocessing being received, the display control unit to display thespecific text stored in the storing unit together with the selected texton the display device.